Modern communication systems may be classified according to the information transmitted. For instance, time-sensitive information is transmitted in a synchronous channel while time-insensitive information is transmitted in an asynchronous channel. An example of a synchronous channel is a television (TV) channel. An example of an asynchronous channel is an email channel in which the transmitted time-insensitive information is an email message.
Generally, an email system, and in a broader sense a message transmission system, employs a client-server structure, wherein a mail server supports standard internet mail service protocol such as Simple Mail Transfer Protocol (SMTP)/Post Office Protocol version 3 (POP3) to send and receive an email message. An email application program running on a client can access the mail server and upload emails to and download emails from the mail server. The transmission of email is usually performed with the SMTP protocol. When an email arrives at the receiver's mail server, the mail receiver's client downloads the email from the mail server by using the POP3 protocol.
FIG. 1 is a schematic diagram of a typical client-server type of message transmission system 100. A plurality of clients 101 can be connected to a server 102, and the messages are transmitted via communication channels 103 between the clients and the server.
When a message handling application program is running on a client 101, the message handling application program first handshakes with server 102 to establish communication channel 103 between the client and the server. The program then starts to download messages such as new email from server 102 via communication channel 103. Such message transmission usually works well under the assumption that the following two conditions are met: the communication channel between the client and the server has sufficient bandwidth; and neither the body nor the attachment of the message being transmitted is too large.
However, it is often the case that at least one of the two abovementioned conditions is not satisfied. For instance, a user may encounter the case of downloading an email message with multiple big attachments. In this case, if the message-handling application program running on the client attempts to download through, for example, a narrow-band communication channel established by a 56 kbps telephone modem or through a noisy wireless network with a plurality of reconnection blocking channels, then problems of low message download speed will occur and the communication channel is likely to be blocked.
Transmitting a symbol of the attachment instead of the attachment itself can solve the problems caused by the large attachment of a message. A method for managing the download of email attachments is disclosed in U.S. Patent Application Serial No. 2005/0076087, entitled “Method and System for Email Synchronization for an Electronic Device.” In this patent application a client's email service component first receives and checks the property of the email sent by a server. The property indicates whether there is an attachment or an embedded link associated with particular email messages. Thus, the email service component determines whether one or more attachments are associated with the email. The email service component then receives detailed information of the attachment properties including the name of the attachment, the type of the file, and the size from the server. The email service component receives the email without the attachments, and displays the received email and attachment list to the user. If the user selects one attachment from the attachment list, then the email service component downloads the selected attachment via a background thread. This solution is suitable for the case where the body of the email is small. However, for a message in which the body of the email message is itself embedded with a large amount of text or media content, this solution will also have the problems of low message download speed and channel overload, thereby blocking the narrow communication channels between the clients and the server.
When the body of the transmitted message is very large, the capacity of the communication channels between the clients and the server will be overloaded. The typical symptom is that the user lost control of the whole process because both the client applications and the communication channel are busy finishing the downloading process.
Existing solutions are based primarily on the following assumptions: the body of the message is based on a relatively small amount of text, and the media content are encoded in the attachment. Thus, only the attachment needs to be symbolized and transmitted, while the body of the message with a small amount of text is transmitted directly to the client from the server without the risk of blocking the communication channel.
However, more applications have started to directly encode or dump media content such as compressed or uncompressed audio and video into the message body. As a result, the message body becomes very large. It will cause the abovementioned channel overload problem if the message body itself is directly transmitted. Therefore, the existing solutions may process the normal messages effectively, but lack the capability to process a message in which the body includes large media content.
In addition, person-to-person communications normally use a text body and attachment format while person-to-machine and machine-to-machine communications normally use a non-attachment format. The increase in machine-to-machine communications traffic is much greater than person-to-person communications traffic growth. There will be an increasing number of messages without an attachment in the communications since most of the person-to-person communications need to go through multiple machine-to-machine communication steps.
Examples of existing technical solutions are listed hereinbelow. Nguyen, in U.S. Pat. No. 6,377,978 describes a method and system for dynamic downloading of hypertext electronic mail messages. Ferguson, in U.S. Patent Application No. 2002/0178232 describes a method for maximizing the use of available bandwidth while browsing the World Wide Web section of the Internet, by allowing users to dynamically pre-select content to be viewed next. Awasthi, in U.S. Patent Application No. 2003/0154254 is directed to a system for processing a message received from a computational network. Budd et al., in U.S. Patent Application No. 2005/0076087 describes an electronic device, such as a hand-held portable computer, provided with client-side email capability that allows emails to be independently downloaded from a server, regardless of an operating mode of an email application and without using the standard email retrieval mechanism of the email application. Budd et al., in U.S. Patent Application No. 2005/0076085 describes an electronic device, such as a hand-held portable computer provided with client-side email capability that allows emails to be independently downloaded from a server, regardless of an operating mode of an email application and without using the standard email retrieval mechanism of the email application. Halahmi et al., in U.S. Patent Application No. 2004/0024826 describes a system and method for providing e-mail messages to a user in a more efficient manner. Stiers, in U.S. Patent Application No. 2003/0055907 describes a method to reduce the network capacity usage of electronic email containing MIME-encoded attachments. DePietro et al., in U.S. Patent Application No. 2003/0231661 describes a method and apparatus for rapidly downloading large files over a broadband communications link to a user, segments the file into multiple segments and assigns the segments to be transmitted over a plurality of in-band or out-of-band channels. Kirani et al., in U.S. Patent Application No. 2002/0016818 describes an e-mail system that re-packages message attachments optimized for delivery to wireless handheld devices.
In summary, the existing technical solutions cannot accommodate a message transmission type with following features:
1. the communication channels are unevenly distributed in a client-server type of message transmission system;
2. the size of the messages transmitted in the message transmission system are unevenly distributed, especially for the case of a message body embedded with large media content; and
3. the message transmission process itself has uneven timing: at the first instance that a client establishes a connection with a server, the client does not have enough communication channel capacity to download the message body. However, after the initial download, the channel capacity is underutilized due to no need for further download operations.
Additionally, some proposed solutions solve the initial download channel capacity problem, but these solutions do not also solve the uneven channel capacity utilization problem.